using UnityEngine;

// 预览层类
public class PreviewLayer : TilemapLayer
{
    [SerializeField]
    private SpriteRenderer _previewRenderer;

    // 显示建筑物预览
    // item：建筑物项
    // worldCoords：世界坐标
    // isValid：坐标是否有效
    public void ShowPreview(BuildableItem item, Vector3Int coords, bool isValid)
    {
        // 设置预览渲染器的位置和精灵
        _previewRenderer.enabled = true;
        _previewRenderer.transform.position = _tilemap.CellToWorld(coords) + _tilemap.cellSize / 2 + item.TileOffset;
        _previewRenderer.sprite = item.PreviewSprite;

        // 根据isValid设置预览渲染器的颜色
        _previewRenderer.color = isValid ? new Color(r: 0, g: 1, b: 0, a: 0.5f) : new Color(r: 1, g: 0, b: 0, a: 0.5f);
    }

    // 清除建筑预览
    public void ClearPreview()
    {
        _previewRenderer.enabled = false;
    }
}

